package com.chen.utils.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chen.root.enums.DriveEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * 数据源配置表
 * @author: ~龙~
 * @date: 2023/6/27 17:03
 **/
@Data
@TableName("data_source_info")
public class DataSourceInfo implements Serializable {

    /**
     * 表主键
     */
    @ApiModelProperty("表主键")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 数据源名称
     */
    @ApiModelProperty("数据源名称")
    @TableField("db_name")
    private String dbName;

    /**
     * 数据源类型：mysql、oracle
     * {@link DriveEnum}
     */
    @NotBlank(message = "dataType-不能为空")
    @ApiModelProperty("数据源类型：mysql、oracle")
    @TableField("data_type")
    private String dataType;

    /**
     * 数据库连接地址，ip:端口 即可
     * 如：127.0.0.1:3306
     */
    @NotBlank(message = "url-不能为空")
    @ApiModelProperty("数据库连接地址")
    @TableField("url")
    private String url;

    /**
     * 数据库名
     */
    @NotBlank(message = "libraryName-不能为空")
    @ApiModelProperty("数据库名")
    @TableField("library_name")
    private String libraryName;

    /**
     * 数据库账号
     */
    @NotBlank(message = "username-不能为空")
    @ApiModelProperty("数据库账号")
    @TableField("username")
    private String username;

    /**
     * 数据库密码
     */
    @NotBlank(message = "password-不能为空")
    @ApiModelProperty("数据库密码")
    @TableField("password")
    private String password;
}
